\myindex{x86!\Instructions!NOP}
\myindex{x86!\Instructions!XCHG}
  \item[NOP] \ac{NOP}. \RU{Её опкод 0x90, что на самом деле это холостая инструкция}
  \EN{Its opcode is 0x90, it is in fact the} 
  \TT{XCHG EAX,EAX}\EN{ idle instruction}.
  \RU{Это значит, что в x86 (как и во многих \ac{RISC}) нет отдельной \ac{NOP}-инструкции}
  \EN{This implies that x86 does not have a dedicated \ac{NOP} instruction (as in many \ac{RISC})}.
  \RU{В этой книге есть по крайней мере один листинг, где GDB отображает NOP как 16-битную инструкцию XCHG:}
  \EN{This book has at least one listing where GDB shows NOP as 16-bit XCHG instruction:}
  \myref{NOP_as_XCHG_example}.

  \RU{Еще примеры подобных операций}\EN{More examples of such operations}:
  (\myref{sec:npad}).

  \ac{NOP} \RU{может быть сгенерировать компилятором для выравнивания меток по 16-байтной границе}
  \EN{may be generated by the compiler for aligning labels on a 16-byte boundary}.
  \RU{Другое очень популярное использование}\EN{Another very popular usage of} \ac{NOP} 
  \RU{это вставка её вручную (патчинг) на месте какой-либо инструкции вроде условного перехода, чтобы
  запретить её исполнение}\EN{is to replace manually (patch) some instruction like a conditional jump
  to \ac{NOP} in order to disable its execution}.

